package com.dong.common.util;

import com.dong.common.constant.PropertiesConst;

import java.io.*;
import java.util.Properties;

/**
 * @description: 配置文件工具类
 * @author: 陈瑞东
 * @create: 2021-08-25 10:19
 */
public class PropertiesUtils {

    /**
     * 获取配置文件的值
     * @param fileName 文件名
     * @param key 键
     * @return 值
     */
    public static String getValue(String fileName, String key){
        String value = null;
        try {
            Properties p = new Properties();
            FileInputStream in = new FileInputStream(PropertiesConst.CONFIG_DIR + "/" + fileName);
            p.load(in);
            value = p.getProperty(key);
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
//        InputStream in = PropertiesUtils.class.getClassLoader().getResourceAsStream(PropertiesConst.CONFIG_DIR + "/" + fileName);
        return value;
    }

    /**
     * 设置配置文件
     * @param fileName 文件名
     * @param key 键
     * @param value 值
     */
    public static void setValue(String fileName, String key, String value){
        try {
            Properties p = new Properties();
            String path = PropertiesConst.CONFIG_DIR + "/" + fileName;
    //        String path = PropertiesUtils.class.getClassLoader().getResource(PropertiesConst.CONFIG_DIR + "/" + fileName).getPath();
            // 加载配置文件
            FileInputStream in = new FileInputStream(path);
            p.load(in);
            FileOutputStream out = new FileOutputStream(path);
            // 修改配置文件
            p.setProperty(key, value);
            // 输出配置文件
            p.store(out, "");
            in.close();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
